﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using App_Negocio;



using System.Collections.Generic;
using System.Configuration;

using System.Security.Principal;


using System.IO;

using System.Net.Mime;


public partial class Test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //cargarListaEventoTipo();

            //cargarCblBebida();
            //cargarCblsAdicional();
            //cargarddlRecepcion();
            //cargarddlEntrada();
            //cargarddlPrincipal();
            //cargarddlPostre();
            //cargarddlMadrugada();
        }

    }

    protected void cargarListaEventoTipo()
    {
        App_Negocio.EventoTipo eTipo = new App_Negocio.EventoTipo();
        // Obtengo la tabla del DataSet
        DataView dataView = eTipo.popularEventoTipo();

        //Vinculo con el DropDownList
        ddlTipoEvento.DataSource = dataView;

        ddlTipoEvento.DataTextField = "tEve_Nombre";
        ddlTipoEvento.DataValueField = "tEve_Id";
        ddlTipoEvento.DataBind();
    }

    protected void cargarCblBebida()
    {
        App_Negocio.Bebida bebida = new App_Negocio.Bebida();

        LinkedList<Bebida> bebidas = bebida.popularBebida();

        cblBebidas.DataSource = bebidas;
        cblBebidas.DataTextField = "nombre";
        cblBebidas.DataValueField = "id";
        cblBebidas.DataMember = "precio";
        cblBebidas.DataBind();
    }

    protected void cargarCblsAdicional()
    {
        App_Negocio.Servicio_Adicional sAdicional = new App_Negocio.Servicio_Adicional();
        // Obtengo la tabla del DataSet
        DataView dataView = sAdicional.popularsAdicionalConTipo();

        //Vinculo con el DropDownList

        cblServiciosAdicionales.DataSource = dataView;
        cblServiciosAdicionales.DataTextField = "tSad_Nombre";
        cblServiciosAdicionales.DataValueField = "sAd_Id";
        cblServiciosAdicionales.DataBind();
    }

    protected void cargarddlRecepcion()
    {
        App_Negocio.Alimento ali = new App_Negocio.Alimento();
        DataTable dt = ali.buscarAlimentosPorTipos("Recepción");

        ddlEntrada.DataSource = dt;
        ddlEntrada.DataTextField = "Nombre";
        ddlEntrada.DataValueField = "Id";
        ddlEntrada.DataBind();
    }
    protected void cargarddlEntrada()
    {
        App_Negocio.Alimento ali = new App_Negocio.Alimento();
        DataTable dt = ali.buscarAlimentosPorTipos("Entrada");

        ddlRecepcion.DataSource = dt;
        ddlRecepcion.DataTextField = "Nombre";
        ddlRecepcion.DataValueField = "Id";
        ddlRecepcion.DataBind();
    }
    protected void cargarddlPrincipal()
    {
        App_Negocio.Alimento ali = new App_Negocio.Alimento();
        DataTable dt = ali.buscarAlimentosPorTipos("Principal");

        ddlPrincipal.DataSource = dt;
        ddlPrincipal.DataTextField = "Nombre";
        ddlPrincipal.DataValueField = "Id";
        ddlPrincipal.DataBind();
    }
    protected void cargarddlPostre()
    {
        App_Negocio.Alimento ali = new App_Negocio.Alimento();
        DataTable dt = ali.buscarAlimentosPorTipos("Postre");

        ddlPostre.DataSource = dt;
        ddlPostre.DataTextField = "Nombre";
        ddlPostre.DataValueField = "Id";
        ddlPostre.DataBind();
    }
    protected void cargarddlMadrugada()
    {
        App_Negocio.Alimento ali = new App_Negocio.Alimento();
        DataTable dt = ali.buscarAlimentosPorTipos("Madrugada");

        ddlMadrugada.DataSource = dt;
        ddlMadrugada.DataTextField = "Nombre";
        ddlMadrugada.DataValueField = "Id";
        ddlMadrugada.DataBind();
    }



    protected void ddlTipoEvento_SelectedIndexChanged(object sender, EventArgs e)
    {
        //if (ddlTipoEvento.SelectedItem.Text == "Convivencia" || ddlTipoEvento.SelectedItem.Text == "Día de Campo" || ddlTipoEvento.SelectedItem.Text == "Otro")
        //{
        //    txtFechaSalida.Visible = true;
        //}
        //else
        //{
        //    txtFechaSalida.Visible = false;
        //    txtFechaSalida.Text = "";
        //}
    }
    protected void btnEnviar_Click(object sender, EventArgs e)
    {

        if (comprobarCampos() == true)
        {
            try
            {
                enviarMail();
            }
            catch (Exception ex)
            {
                //////////
                Session["Mensaje"] = "El Presupuesto no se pudo enviar, por favor intente nuevamente mas tarde. Gracias";
                Session["IrAPagina"] = "Index.aspx";
                Response.Redirect("Bienvenida.aspx");

            }
            Session["Mensaje"] = "Su Presupuesto ha sido enviado, lo cotizaremos a la brevedad";
            Session["IrAPagina"] = "Index.aspx";
            Response.Redirect("Bienvenida.aspx");
        }
    }
    public Boolean comprobarCampos()
    {

        Boolean bandera = true;
        if (ddlTipoEvento.SelectedIndex == 0) { lblTipoEvento.ForeColor = System.Drawing.Color.Red; bandera = false; }
        if (txtCantInvitados.Text == "") { bandera = false; lblInvitados.ForeColor = System.Drawing.Color.Red; }
        if (txtFecha.Text == "") { bandera = false; lblFecha.ForeColor = System.Drawing.Color.Red; }
        if (txtNombre.Text == "") { bandera = false; lblNombre.ForeColor = System.Drawing.Color.Red; }
        if (txtEMail.Text == "") { bandera = false; lblEmail.ForeColor = System.Drawing.Color.Red; }
        if (bandera == false) { lblCamposIncompletos.Visible = true; }

        return bandera;


    }
    public void enviarMail()
    {
        App_Negocio.Presupuesto p = new App_Negocio.Presupuesto();
        p.TipoEvento = new EventoTipo();
        p.TipoEvento.Nombre = ddlTipoEvento.SelectedItem.Text;
        p.CantPersonas = int.Parse(txtCantInvitados.Text);
        try { p.FechaEvento = DateTime.Parse(txtFecha.Text); }
        catch (Exception e) { }
        List<Alimento> listaAlimentos = new List<Alimento>();
        if (ddlEntrada.SelectedIndex != 0)
        {
            Alimento recepcion = new Alimento();
            recepcion.Nombre = ddlEntrada.SelectedItem.Text;
            listaAlimentos.Add(recepcion);
        }
        if (ddlRecepcion.SelectedIndex != 0)
        {
            Alimento entrada = new Alimento();
            entrada.Nombre = ddlRecepcion.SelectedItem.Text;
            listaAlimentos.Add(entrada);
        }

        if (ddlPrincipal.SelectedIndex != 0)
        {
            Alimento principal = new Alimento();
            principal.Nombre = ddlPrincipal.SelectedItem.Text;
            listaAlimentos.Add(principal);
        }

        if (chkMesaDeDulces.Checked == true)
        {
            Alimento mesaDulce = new Alimento();
            mesaDulce.Nombre = "Mesa Dulce";
            listaAlimentos.Add(mesaDulce);
        }

        if (chkTortaSimbolica.Checked == true)
        {
            Alimento torta = new Alimento();
            torta.Nombre = "torta";
            listaAlimentos.Add(torta);
        }
        if (ddlMadrugada.SelectedIndex != 0)
        {
            Alimento madrugada = new Alimento();
            madrugada.Nombre = ddlMadrugada.SelectedItem.Text;
            listaAlimentos.Add(madrugada);
        }
        List<App_Negocio.Servicio_Adicional> ListaSAdicional = new List<Servicio_Adicional>();

        //App_Negocio.Servicio_Adicional sAdicional = new App_Negocio.Servicio_Adicional();
        for (int i = 0; i < cblServiciosAdicionales.Items.Count; i++)
        {
            if (cblServiciosAdicionales.Items[i].Selected)
            {
                App_Negocio.Servicio_Adicional sAdicional = new App_Negocio.Servicio_Adicional();
                // sAdicional.Id = int.Parse(cblServiciosAdicionales.Items[i].Value);
                sAdicional.Nombre = cblServiciosAdicionales.Items[i].Text;


                ListaSAdicional.Add(sAdicional);
            }
        }
        p.ServicioAdicional = ListaSAdicional;

        List<App_Negocio.Bebida> ListaBebida = new List<Bebida>();

        for (int i = 0; i < cblBebidas.Items.Count; i++)
        {
            if (cblBebidas.Items[i].Selected)
            {
                App_Negocio.Bebida bebida = new App_Negocio.Bebida();
                // bebida.Id = int.Parse(cblBebidas.Items[i].Value);
                bebida.Nombre = cblBebidas.Items[i].Text;

                ListaBebida.Add(bebida);
            }
        }
        Cliente clie = new Cliente();
        clie.NomCliente = txtNombre.Text;
        clie.ApeCliente = txtApellido.Text;
        if (txtTelefono.Text != "")
        {
            clie.StringtelCliente = txtTelefono.Text;
        }
        else
        {
            clie.StringtelCliente = "" + 0;
        }
        clie.Email = txtEMail.Text;

        p.Cliente = clie;
        p.Comentario = tbxComentario.Text;

       // p.enviarMailWeb(listaAlimentos, ListaBebida);
    }

    protected void btnVolver_Click(object sender, EventArgs e)
    {
        Response.Redirect("Index.aspx");
    }

}
